﻿using Prism.Ioc;
using Prism.Modularity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Zhy.PrismModule.ModuleA
{
    /// <summary>
    /// 用于模块的容器注册类
    /// </summary>
    /// 按需加载特性-用的时候再加载-可以避免项目启动时加载大量模块
    [Module(ModuleName = "AAA", OnDemand = true)] // 按需加载特性：参数1：特性名称 参数2：懒加载-用的时候再加载
    public class AModule : IModule
    {
        /// <summary>
        /// 用于模块的初始化方法
        /// </summary>
        /// <param name="containerProvider"></param>
        public void OnInitialized(IContainerProvider containerProvider)
        {

        }

        /// <summary>
        /// 用于模块的IOC容器注册的方法
        /// </summary>
        /// <param name="containerRegistry"></param>
        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterForNavigation<ViewA>(); // 注册区域导航子页面
            containerRegistry.RegisterForNavigation<ViewB>();
        }
    }
}
